/* ********************************************************************************************
  1) Nueva columnas
   - comm.afipcbtetipo,comm.afipvtopago, comm.afipcbu, comm.afipanulacion, comm.afipcbtesasoc  
   - afipeqvcom.orden, afipeqvcom.id

  2) Nueva tabla: padcbu, con CBUs de cuentas bancarias      

   Ale - 14/08/2019                                                     
 **********************************************************************************************/

-- Tabla comm
ALTER TABLE comm ADD COLUMN afipcbtetipo integer,
                 ADD COLUMN afipvtopago timestamp,
                 ADD COLUMN afipcbu varchar(22),
                 ADD COLUMN afipcbualias varchar(20),
                 ADD COLUMN afipanulacion varchar(1),
                 ADD COLUMN afipcbtesasoc varchar(5000);

COMMENT ON COLUMN comm.afipcbtetipo IS 'Tipo de comprobante para afip (ver tabla afip.afipcom)';
COMMENT ON COLUMN comm.afipvtopago IS 'Fecha vto pago para afip';
COMMENT ON COLUMN comm.afipcbu IS 'Codigo CBU fiscal del emisor';
COMMENT ON COLUMN comm.afipcbualias IS 'Alias de CBU fiscal del emisor';
COMMENT ON COLUMN comm.afipanulacion IS 'Indica si el comprobante anula otro anterior';
COMMENT ON COLUMN comm.afipcbtesasoc IS 'XML con comprobantes asociados para informar a afip';


-- Tabla afipeqvcom

-- secuencia para valores de afipeqvcom.id
CREATE SEQUENCE public.seq_afipeqvcom
  INCREMENT 1
  MINVALUE 1
  MAXVALUE 9223372036854775807
  START 1
  CACHE 1;
  
ALTER TABLE public.seq_afipeqvcom  OWNER TO abacouser;

-- columnas id, orden
ALTER TABLE afipeqvcom ADD COLUMN id integer NOT NULL DEFAULT nextval('public.seq_afipeqvcom'),
                       ADD COLUMN orden integer;
                       
-- afipeqvcom.id como PK
ALTER TABLE afipeqvcom DROP CONSTRAINT afipcomequiv_pkey;
ALTER TABLE afipeqvcom ADD CONSTRAINT afipeqvcom_pkey PRIMARY KEY (id);
                       
COMMENT ON COLUMN afipeqvcom.orden IS 'Orden de recuperacion de filas para selectores';

-- =================================================
-- Nueva tabla padcbu con CBUs de cuentas bancarias

-- Tabla padcbu

-- secuencia para valores de padcbu.id
CREATE SEQUENCE public.seq_padcbu
  INCREMENT 1
  MINVALUE 1
  MAXVALUE 9223372036854775807
  START 1
  CACHE 1;

CREATE TABLE padcbu
(
  id integer NOT NULL DEFAULT nextval('public.seq_padcbu'),
  codambemp varchar(2) NOT NULL,
  idpad integer,
  cbu varchar(22),
  cbualias varchar(20),
  esfiscal varchar(1) NOT NULL,
  idambdb integer,
  fechainsert timestamp without time zone,
  fechaupdate timestamp without time zone,
  CONSTRAINT padcbu_pkey PRIMARY KEY (id),
  CONSTRAINT gestion_ai_padcbu_ambemp FOREIGN KEY (codambemp)
      REFERENCES public.ambemp (cod) MATCH SIMPLE
      ON UPDATE CASCADE ON DELETE RESTRICT,
  CONSTRAINT gestion_ai_codampemp_cbu_unique UNIQUE (codambemp, cbu)
)
WITH OIDS;
COMMENT ON TABLE padcbu IS 'CBUs de cuentas bancarias';
COMMENT ON COLUMN padcbu.codambemp IS 'Codigo interno de la empresa a la que pertenece la cuenta bancaria';
COMMENT ON COLUMN padcbu.idpad IS 'Referencia a la cuenta bancaria';
COMMENT ON COLUMN padcbu.cbu IS 'CBU de 22 digitos';
COMMENT ON COLUMN padcbu.cbualias IS 'Alias del CBU, entre 6 y 20 caracteres alfanumericos';
COMMENT ON COLUMN padcbu.esfiscal IS 'Indica si el CBU esta presentado en afip';

CREATE TRIGGER control_audit_padcbu
  BEFORE INSERT OR UPDATE OR DELETE
  ON padcbu
  FOR EACH ROW
  EXECUTE PROCEDURE tg_control_audit_instancia();


-- ===========================
select  aaVersion('410.00');
-- ===========================